package com.ssy.lingxi.system.service;

import com.ssy.lingxi.common.model.vo.PageVO;
import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.platform.manage.api.model.dto.onlineservice.EnableStatusReq;
import com.ssy.lingxi.platform.manage.api.model.dto.onlineservice.IdReq;
import com.ssy.lingxi.platform.manage.api.model.dto.onlineservice.OnlineServiceAddReq;
import com.ssy.lingxi.platform.manage.api.model.dto.onlineservice.OnlineServiceUpdateReq;
import com.ssy.lingxi.system.model.request.IdVO;
import com.ssy.lingxi.system.model.response.OnlineServiceDetailRes;
import com.ssy.lingxi.system.model.response.OnlineServicePageRes;

/**
 * 基础设置-在线客服相关接口
 * @author wyx
 * @version 2.0.0
 * @date 2021-11-16
 */
public interface IOnlineServiceService {
    /**
     * 新增客服
     * @param req 请求参数
     * @return 操作结果
     */
    Wrapper<Void> add(OnlineServiceAddReq req);

    /**
     * 修改客服
     * @param req 请求参数
     * @return 操作结果
     */
    Wrapper<Void> update(OnlineServiceUpdateReq req);

    /**
     * 启用/停用
     * @param req 请求参数
     * @return 操作结果
     */
    Wrapper<Void> enable(EnableStatusReq req);

    /**
     * 删除客服配置
     * @param req 请求参数
     * @return 返回结果
     */
    Wrapper<Void> delete(IdReq req);

    /**
     * 查看详情
     * @param idVO 请求参数
     * @return 返回结果
     */
    Wrapper<OnlineServiceDetailRes> detail(IdVO idVO);

    /**
     * 分页查看客服列表
     * @param pageVO 请求参数
     * @return 返回结果
     */
    Wrapper<PageData<OnlineServicePageRes>> page(PageVO pageVO);
}
